# -*- coding: utf-8 -*-
import math
import mod.client.extraClientApi as clientApi
from mod.client.ui.controls.baseUIControl import BaseUIControl
from mod.client.ui.controls.buttonUIControl import ButtonUIControl
from mod.client.ui.controls.imageUIControl import ImageUIControl
from legendaryPowerClientScript.ui.base import buttonComponent
from legendaryPowerClientScript.ui.base.baseComponent import BaseComponent
from legendaryPowerClientScript.ui.base.buttonComponent import ButtonComponent
from legendaryPowerClientScript.ui.base.labelComponent import LabelComponent
from legendaryPowerClientScript.util import apiUtil
class SelectAmountComponent(BaseComponent):
    # type: () -> None
    """
    SelectAmountComponent类是继承自ButtonComponent的组件，封装了让玩家选择数量的相关功能。
    玩家可长按、点击组件中的按钮，来快速或逐个地更改数量的大小
    ui文件中，一个完整的选择数量组件包含以下结构（均为必选，斜杠分隔开表示两个均可）：

    按钮组件:
        left/subtract 按钮组件： 按下时减少数量
        right/add 按钮组件： 按下时增加数量
        label/count/amount 文字组件： 显示当前数量
    """

    def SetTouchEnable(self, enable):
        """
        设置此控件是否响应点击
        Args:
            enable (bool): 是否启用触摸。
        """
        pass

    def setMin(self, min):
        # type: (int) -> None
        """
        设置数量最小值。选择的数量在最小值时，减少数量的按钮会隐藏
        Args:
            max (int): 最大值。
        """
        pass

    def setMax(self, max):
        # type: (int) -> None
        """
        设置数量最大值。选择的数量在最大值时，增加数量的按钮会隐藏
        Args:
            max (int): 最大值。
        """
        pass

    def setCount(self, count, triggerCallback=True):
        # type: (int, bool) -> None
        """
        设置数量。

        Args:
            count (int): 计数值。
            triggerCallback (bool): 是否触发回调函数。
        """
        pass

    def updateOperationPanel(self, triggerCallback=True):
        # type: (bool) -> None
        """
        更新界面。

        Args:
            triggerCallback (bool): 是否触发回调函数。
        """
        pass

